翻訳と辞書
Words near each other
・ fugue
・ fujitsu
・ full laziness
・ full outer join
・ full-custom
・ full-duplex
・ full-duplex switched ethernet
・ full-motion video
・ fully associative cache
・ fully automated compiling technique
fully lazy lambda lifting
・ fully qualified domain name
・ fum
・ fun
・ function
・ function application
・ function complete
・ function graph language
・ function inlining
・ function key


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

fully lazy lambda lifting : FOLDOC
fully lazy lambda lifting
John Hughes's optimisation of lambda lifting to give full laziness. {Maximal free expressions} are shared to minimise the amount of recalculation. Each inner sub-expression is replaced by a function of its maximal free expressions (expressions not containing any bound variable) applied to those expressions. E.g.
f = x . ( y . (+) (sqrt x) y)

((+) (sqrt x)) is a maximal free expression in ( y . (+) (sqrt x) y) so this inner abstraction is replaced with
(
g . y . g y) ((+) (sqrt x))

Now, if a {partial application} of f is shared, the result of evaluating (sqrt x) will also be shared rather than re-evaluated on each application of f. As Chin notes, the same benefit could be achieved without introducing the new
higher-order function, g, if we just extracted out (sqrt x).
This is similar to the {code motion} optimisation in
procedural languages where constant expressions are moved outside a loop or procedure.
(199
procedural languages where constant expressions are moved outside a loop or procedure.
(199


スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.